package com.bdqn.service.impl;

import com.bdqn.dao.NewsDao;
import com.bdqn.entity.News;
import com.bdqn.service.NewsService;

/**
 * NewsServiceImpl
 *
 * @author LILIBO
 * @since 2021-10-08
 */
public class NewsServiceImpl implements NewsService {

    // 1、直接写死实例化的对象
    // NewsDao dao = new NewsDaoImpl();

    // 2、通过简单工厂生产出一个NewsDao接口的实例
    // NewsDao dao = SimpleDaoFactory.getInstance();

    // 3、通过简单工厂，传入参数来决定使用什么实例
    // NewsDao dao = SimpleDaoFactory.getInstance(PropUtil.getProperty("dbName"));

    // 4、依赖倒置，通过简单工厂传递接口的实现
    private NewsDao dao;

    /**
     * 接收一个实现了NewsDao接口的实现类
     *
     * @param dao
     */
    public void setDao(NewsDao dao) {
        this.dao = dao;
    }

    /**
     * 保存新闻
     *
     * @param news
     */
    @Override
    public void save(News news) {
        dao.save(news);
    }
}
